
/**
 * 全局变量
 */
var deptId = '';

/**
 * 初始化
 */
$(function() {
	load();
	var ztree = new $ZTreePlus("deptTree", ctxPath + "dept/deptTree");
	ztree.bindOnClick(zTreeOnClick);
	ztree.init(0);
});

/**
 *部门树点击事件
 */
function zTreeOnClick(e, treeId, treeNode) {
	if(treeNode.id != 0)
	{
		deptId = treeNode.id;
	}
	reLoad();
}

/**
 * 加载表格
 */
function load() {
	$('#userTable')
		.bootstrapTable(
			{
				contentType: "application/x-www-form-urlencoded",
				method : 'POST', // 服务器数据的请求方式 get or post
				url : ctxPath + "user/list", // 服务器数据的加载地址
				striped : true, // 设置为true会有隔行变色效果
				dataType : "json", // 服务器返回的数据类型
				pagination : true, // 设置为true会在底部显示分页条
				singleSelect : true, // 设置为true将禁止多选
				iconSize : 'outline',
				sortable: true,//是否启用排序
				pageSize : 10, // 如果设置了分页，每页数据条数
				pageList: [10, 50], //可供选择的每页的行数（*）
				pageNumber : 1, // 如果设置了分布，首页页码
				//search : true, // 是否显示搜索框
				showColumns : true, // 是否显示内容下拉框（选择显示的列）
				sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者
				showRefresh: true,//显示刷新按钮
				clickToSelect: true,//点击选中checkbox
				showToggle:true,

				queryParams : function(params) {
					return {
						// 说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
						limit : params.limit,
						offset : params.offset,
						realname : $('#searchName').val(),
						deptId : deptId
					};
				},
				columns : [
					{
						checkbox : true
					},
					{
						field : 'id', // 列字段名
						title : '序号', // 列标题
						visible: false
					},
					{
						field : 'realname',
						title : '姓名'
					},
					{
						field : 'username',
						title : '用户名'
					},
					{
						field : 'email',
						title : '邮箱'
					},
					{
						field : 'birthday',
						title : '生日',
						//获取日期列的值进行转换
						formatter: function (value, row, index) {
							return customDateChange.DateFormat(value)
						}
					},
					{
						field : 'status',
						title : '状态',
						align : 'center',
						formatter : function(value, row, index) {
							if (value == '0') {
								return '<span class="label label-danger">禁用</span>';
							} else if (value == '1') {
								return '<span class="label label-primary">正常</span>';
							}
						}
					},
					{
						title : '操作',
						field : 'operation',
						align : 'center',
						formatter : function(value, row, index) {
							var e = '<a class="btn btn-primary btn-sm '+ editFlag +'" href="#" title="编辑" mce_href="#" onclick="edit(\''+ row.id+ '\')"><i class="fa fa-edit "></i></a> ';
							var d = '<a class="btn btn-warning btn-sm '+ delFlag +'" href="#" title="删除"  mce_href="#" onclick="del(\''+ row.id+ '\')"><i class="fa fa-remove"></i></a> ';
							var f = '<a class="btn btn-success btn-sm '+ resetFlag +'" href="#" title="重置密码"  mce_href="#" onclick="resetPassword(\''+ row.id+ '\')"><i class="fa fa-key"></i></a> ';
							return e + d + f;
						}
					} ]
			});
}

/**
 * 刷新表格
 */
function reLoad() {
	$('#userTable').bootstrapTable('refresh');
}

/**
 * 新增弹出框
 */
function add() {
	// iframe层
	layer.open({
		type : 2,
		title : '增加用户',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : ctxPath + 'user/add'
	});
}

/**
 * 修改弹出框
 */
function edit(id) {

	if(id == null || id == "") {
		var rows = $('#userTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
		if (rows.length == 0) {
			layer.msg("请选择要修改的数据");
			return;
		}
		if (rows.length > 1) {
			layer.msg("不能选择多条数据");
			return;
		}
		id = rows[0]['id'];
	}
	layer.open({
		type : 2,
		title : '用户修改',
		maxmin : true,
		shadeClose : false,
		area : [ '800px', '480px' ],
		content : ctxPath + 'user/edit/' + id // iframe的url
	});
}

/**
 * 查找用户
 */
function find()
{
	reLoad();
}

/**
 * 重置密码
 */
function resetPassword(id)
{
	layer.confirm("确认要重置该用户的密码吗?", {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			type : 'POST',
			url : 'user/resetPassword/'+ id,
			success : function(r) {
				if (r.code == 200) {
					layer.msg("操作成功");
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	});
}

/**
 * 删除用户
 */
function del(id)
{
	if(id == null || id == "") {
		var rows = $('#userTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
		if (rows.length == 0) {
			layer.msg("请选择要删除的数据");
			return;
		}
		if (rows.length > 1) {
			layer.msg("不能选择多条数据");
			return;
		}
		id = rows[0]['id'];
	}

	layer.confirm("确认要删除该用户吗?", {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			type : 'POST',
			url : ctxPath + 'user/remove/'+ id,
			success : function(r) {
				if (r.code == 200) {
					layer.msg("操作成功");
					reLoad();
				} else {
					layer.msg(r.message);
				}
			}
		});
	});
}
